Embedding Finite Sets in a Logic Programming Language

نویسندگان

  • Agostino Dovier
  • Eugenio G. Omodeo
  • Enrico Pontelli
  • Gianfranco Rossi
چکیده

A way of introducing simple (finite) set designations and operations as first-class objects of an (unrestricted) logic programming language is discussed from both the declarative and the operational semantics viewpoint. First, special set terms are added to definite Horn clause logic and an extended Herbrand Universe based on an axiomatic characterization of the kind of sets we are dealing with is defined accordingly. Moreover, distinguished predicates representing set membership and equality are added to the base language along with their negative counterparts (π and ). A new unification algorithm which can cope with set terms is developed and proved to terminate. Usual SLD resolution is modified so as to incorporate the new unification algorithm and to properly manage the distinguished predicates for set operations (in particular, conjunctions of atoms containing π and are dealt with as constraints, first reduced to a canonical form through a suitable canonization algorithm). Finally, the application of the resulting language to the definition of Restricted Universal Quantifiers is discussed.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Membership-Constraints and Complexity in Logic Programming with Sets

General agreement exists about the usefulness of sets as very highlevel representations of complex data structures. Therefore it is worthwhile to introduce sets into constraint logic programming or set constraints into programming languages in general. We start with a brief overview on different notions of sets. This seems to be necessary since there are almost as many different notions in the ...

متن کامل

Imperative Programming in Sets with Atoms

We define an imperative programming language, which extends while programs with a type for storing atoms or hereditarily orbit-finite sets. To deal with an orbit-finite set, the language has a loop construction, which is executed in parallel for all elements of an orbit-finite set. We show examples of programs in this language, e.g. a program for minimising deterministic orbit-finite automata. ...

متن کامل

Compiling Intensional Sets in CLP

Constructive negation has been proved to be a valid alternative to negation as failure, especially when negation is required to have, in a sense, an ‘active’ role. In this paper we analyze an extension of the original constructive negation in order to gracefully integrate with the management of set-constraints in the context of a Constraint Logic Programming Language dealing with finite sets. W...

متن کامل

Integration of Finite Domain Constraints

A constraint programming system usually consists of two main components: a modelling language used to describe a constraint satisfaction problem and a constraint solver searching for solutions to the given problem by applying specific algorithms. As constraint programming and functional logic languages share some common features, like computing with logic variables or the use of backtracking fo...

متن کامل

Une procédure de décision pour un problème de satisfiabilité dans un univers ensembliste héréditairement fini

In this paper, we deal with the satisfiability problem for Systems of constraints over hereditarily finite sets This problem is central for integrating sets in programming languages, and particularly for constraint logic programming languages The approach we propose hère is based on reducing Systems of set constraints into Systems ofhnear integer equalities and inequahties (with bounded domain)...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992